package com.chen.positioning.util;

import com.chen.positioning.wsdl.MobileCodeWS;
import com.chen.positioning.wsdl.MobileCodeWSSoap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 *
 */
@Service
public class WsdlUtil {
    private static final Logger logger = LoggerFactory.getLogger(WsdlUtil.class);
    /**
     * 获得国内手机号码归属地省份、地区和手机卡类型信息
     * 输入参数：mobileCode = 字符串（手机号码，最少前7位数字），
     * userID = 字符串（商业用户ID） 免费用户为空字符串；
     * 返回数据：字符串（手机号码：省份 城市 手机卡类型）。
     */
    public String getAcquiringAttributionByPhonenum(String tel) throws Exception{
        MobileCodeWS mobileCodeWS = new MobileCodeWS();
        MobileCodeWSSoap soap = mobileCodeWS.getMobileCodeWSSoap();
        return soap.getMobileCodeInfo(tel, " ");
    }

    /**
     * 返回省会和城市信息
     * @param tel
     * @return
     * @throws Exception
     */
    public List returnAttributionForPhonenum(String tel) throws Exception{
        List<String> list=new ArrayList<String>();
        String returnInfo=getAcquiringAttributionByPhonenum(tel);
        logger.info("returnInfo =="+returnInfo);
        String[] info=returnInfo.split("：");
        if(info.length>1){
            logger.info("info[1] :"+info[1]);
            String[] info2=info[1].split(" ");
            logger.info("info2[0] :"+info2[0]);
            logger.info("info2[1] :"+info2[1]);

            list.add(info2[0]);
            list.add(info2[1]);
        }

        return list;
    }
    public static void main(String[] args) {
        /*WsdlUtil wsdlUtil =new WsdlUtil();
        try {
            wsdlUtil.returnAttributionForPhonenum("13515623685");
            //13510787735：广东 深圳 广东移动动感地带卡
            //15919339522：广东 广州 广东移动全球通卡
            //13515623685：安徽 铜陵 安徽移动全球通卡
        } catch (Exception e) {
            e.printStackTrace();
        }*/
    }
}
